package com.moi.singleton;

/**
 * 饿汉式
 *
 */
public final class SingletonA {
    private volatile static SingletonA singletonA;
    private SingletonA(){}
    public static SingletonA getSingletoA(){
        if(null==singletonA){
            synchronized (SingletonA.class){
                if(null==singletonA){
                    singletonA=new SingletonA();
                }
            }
        }
        return  singletonA;
    }
}

/***
 *  1
 * final 关键字 代表着 ‘最终的’
 * 可以声明 变量 方法 类
 * 此时 类  将不能被继承
 *      方法 将不能被 override
 *      变量 将不能被 再次 赋值
 *
 *
 *  2
 *  当一个类的 默认构造器 声明为 private 时  同样不能被 继承
 */


